package com.itjin.health.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@TableName("rehabilitation_plans")
public class RehabilitationPlan {

  @TableId(type = IdType.AUTO)
  private Integer id;

  private Integer patientId; // 患者ID
  private Integer therapistId; // 理疗师ID
  private String title; // 计划标题
  private String description; // 计划总体描述

  // 基本信息
  private Integer injuryReportId; // 关联的伤病报告ID
  private LocalDate startDate; // 开始日期
  private LocalDate endDate; // 结束日期
  private Integer status; // 状态：0-草稿，1-进行中，2-已完成，3-已取消

  // 训练项目1
  private String item1Name; // 项目1名称
  private String item1Description; // 项目1描述
  private String item1Frequency; // 项目1频率
  private Integer item1Sets; // 项目1组数
  private Integer item1Repetitions; // 项目1每组重复次数
  private Integer item1Duration; // 项目1持续时间
  private String item1Notes; // 项目1特别说明

  // 训练项目2
  private String item2Name;
  private String item2Description;
  private String item2Frequency;
  private Integer item2Sets;
  private Integer item2Repetitions;
  private Integer item2Duration;
  private String item2Notes;

  // 训练项目3
  private String item3Name;
  private String item3Description;
  private String item3Frequency;
  private Integer item3Sets;
  private Integer item3Repetitions;
  private Integer item3Duration;
  private String item3Notes;

  // 训练项目4
  private String item4Name;
  private String item4Description;
  private String item4Frequency;
  private Integer item4Sets;
  private Integer item4Repetitions;
  private Integer item4Duration;
  private String item4Notes;

  // 训练项目5
  private String item5Name;
  private String item5Description;
  private String item5Frequency;
  private Integer item5Sets;
  private Integer item5Repetitions;
  private Integer item5Duration;
  private String item5Notes;

  // 进度记录
  private Integer progressStatus; // 总体进度：0-未开始，1-进行中，2-已完成
  private String progressNotes; // 总体进度备注
  private String studentFeedback; // 学生反馈

  // 时间戳
  private LocalDateTime createdAt;
  private LocalDateTime updatedAt;
}